package network;

import java.io.IOException;
import java.net.SocketException;
import java.util.HashMap;
import java.util.Map;

public class UdpDictServer extends UdpEchoServer{
    private Map<String, String> dict = new HashMap<>();

    public UdpDictServer(int port) throws SocketException {
        super(port);

        dict.put("cat", "猫咪");
        dict.put("dog", "狗子");
        // 此处可以无限添加英汉键值对
        // 专业的词典程序本质上也是有一个非常大的，很多键值对的 HashMap
    }

    // start() 方法可以继承父类的，因为执行逻辑一样
    // process() 需要重写，把查词典的逻辑加进去
    @Override
    public String process(String request) {
        if(!dict.containsKey(request)){
            return "您要查询的单词未收录~";
        }
        return dict.get(request);
    }

    public static void main(String[] args) throws IOException {
        UdpDictServer server = new UdpDictServer(9090);
        server.start();
    }
}
